package com.umpay.dto.merAccess.req.register;

import com.umpay.annotation.Pattern;
import com.umpay.dto.merAccess.req.CommonReq;
import org.hibernate.validator.constraints.NotEmpty;

/*******************************************************************
 * description : 个人会员注册请求类
 * @author zhangru
 * @date 2018年1月22日 上午11:17:12
 * @version 1.0
 *************************************************************/
public class PersonalMemberRegisterReq extends CommonReq {

	@NotEmpty(message = "商户订单号不能为空")
	@Pattern(message = "商户订单号格式不正确")
	private String order_id;//	商户订单号	变长20	商户订单号支持数字、英文字母，其他字符不建议使用  长度4至20位
	@NotEmpty(message = "商户订单日期不能为空")
	@Pattern(message = "商户订单日期格式不正确")
	private String mer_date;//	商户订单日期	定长8	商户生成订单的日期，格式YYYYMMDD
	@NotEmpty(message = "商户用户标识不能为空")
	@Pattern(message = "	商户用户标识格式不正确")
	private String mer_cust_id;//	商户用户标识	变长20	
	@NotEmpty(message = "会员类型不能为空")
	@Pattern(message = "会员类型格式不正确")
	private String user_type;//	会员类型	定长2	01：个人
	@NotEmpty(message = "用户注册手机号不能为空")
	@Pattern(message = "用户注册手机号格式不正确")
	private String mobile_id;//	用户注册手机号	定长11	
	@NotEmpty(message = "会员名称不能为空")
	private String cust_name;//	用户姓名	变长256	校验规则：^[\\u4e00-\\u9fa5\\u00b7]{2,36}$  GBK编码后使用联动公钥进行RSA加密，最后使用BASE64编码
	@NotEmpty(message = "证件类型不能为空")
	@Pattern(message = "证件类型格式不正确")
	private String identity_type;//	证件类型	变长2	详见附录证件类型
	@NotEmpty(message = "证件号不能为空")
	private String identity_code;//	证件号	变长256	用联动的公钥进行RSA加密后用，BASE64(GBK编码)加密该字段  证件类型为身份证时，仅支持18位长度   校验规则详见附录证件类型
	@Pattern(message = "账户类型格式不正确")
	private String acc_type;//	账户类型	变长3	
	@Pattern(message = "服务器异步通知路径格式不正确")
	private String notify_url;//服务器异步通知页面路径
	@Pattern(message = "子商户别名格式不正确")
	private String sub_mer_alias;//	子商户别名	变长32	如果传递中文，需确保该字段在传入接口前，编码正确，使用UTF-8编码	Y
	public String getOrder_id() {
		return order_id;
	}
	public void setOrder_id(String order_id) {
		this.order_id = order_id;
	}
	public String getMer_date() {
		return mer_date;
	}
	public void setMer_date(String mer_date) {
		this.mer_date = mer_date;
	}
	public String getMer_cust_id() {
		return mer_cust_id;
	}
	public void setMer_cust_id(String mer_cust_id) {
		this.mer_cust_id = mer_cust_id;
	}
	public String getUser_type() {
		return user_type;
	}
	public void setUser_type(String user_type) {
		this.user_type = user_type;
	}
	public String getMobile_id() {
		return mobile_id;
	}
	public void setMobile_id(String mobile_id) {
		this.mobile_id = mobile_id;
	}
	public String getCust_name() {
		return cust_name;
	}
	public void setCust_name(String cust_name) {
		this.cust_name = cust_name;
	}
	public String getIdentity_type() {
		return identity_type;
	}
	public void setIdentity_type(String identity_type) {
		this.identity_type = identity_type;
	}
	public String getIdentity_code() {
		return identity_code;
	}
	public void setIdentity_code(String identity_code) {
		this.identity_code = identity_code;
	}
	public String getAcc_type() {
		return acc_type;
	}
	public void setAcc_type(String acc_type) {
		this.acc_type = acc_type;
	}
	public String getNotify_url() {
		return notify_url;
	}
	public void setNotify_url(String notify_url) {
		this.notify_url = notify_url;
	}
	public String getSub_mer_alias() {
		return sub_mer_alias;
	}
	public void setSub_mer_alias(String sub_mer_alias) {
		this.sub_mer_alias = sub_mer_alias;
	}
	@Override
	public String toString() {
		StringBuilder builder = new StringBuilder();
		builder.append("PersonalMemberRegisterReq [order_id=");
		builder.append(order_id);
		builder.append(", mer_date=");
		builder.append(mer_date);
		builder.append(", mer_cust_id=");
		builder.append(mer_cust_id);
		builder.append(", user_type=");
		builder.append(user_type);
		builder.append(", mobile_id=");
		builder.append(mobile_id);
		builder.append(", cust_name=");
		builder.append(cust_name);
		builder.append(", identity_type=");
		builder.append(identity_type);
		builder.append(", identity_code=");
		builder.append(identity_code);
		builder.append(", acc_type=");
		builder.append(acc_type);
		builder.append(", notify_url=");
		builder.append(notify_url);
		builder.append(", mer_id=");
		builder.append(mer_id);
		builder.append(", version=");
		builder.append(version);
		builder.append(", accessName=");
		builder.append(accessName);
		builder.append(", accessType=");
		builder.append(accessType);
		builder.append(", depBankMerId=");
		builder.append(depBankMerId);
		builder.append(", sub_mer_alias=");
		builder.append(sub_mer_alias);
		builder.append("]");
		return builder.toString();
	}
	
	
}
